package com.example.demo.service;


import com.example.demo.entity.OnlineProject;

import java.util.List;

/**
 * 网签项目配置服务层接口
 *
 * @author 叮当猫的百宝箱
 * @since 1.0
 */
public interface OnlineProjectService {

    /**
     * 添加新的网签项目配置
     *
     * @param onlineProject 待添加的网签配置信息
     */
    void createOnlineProject(OnlineProject onlineProject);


    /**
     * 根据网签项目配置ID删除一个网签项目配置
     *
     * @param id 网签项目配置ID
     */
    void deleteOnlineProjectById(Long id);

    /**
     * 根据网签配置ID删除所属网签配置的全部网签项目配置信息
     *
     * @param onlineId 网签配置ID
     */
    void deleteOnlineProjectByOnlineId(Long onlineId);

    /**
     * 根据网签项目配置ID修改网签项目配置信息
     *
     * @param id            网签项目配置ID
     * @param onlineProject 待更新的网签项目配置信息
     */
    void updateOnlineProjectById(Long id, OnlineProject onlineProject);

    /**
     * 根据网签项目配置ID,获取网签项目配置的详细信息
     *
     * @param id 网签项目配置ID
     * @return 网签项目配置的详细信息
     */
    OnlineProject getOnlineProjectById(Long id);

    /**
     * 根据网签配置ID获取，网签配置下的所有网签配置项目信息
     *
     * @param onlineId 网签配置ID
     * @return 所属网签配置的所有网签项目信息列表
     */
    List<OnlineProject> getOnlineProjectByOnlineId(Long onlineId);
}
